package io.github.echarts.coordinator;

import io.github.echarts.model.ChartModel;
import io.github.echarts.render.GraphicsRenderer;

/**
 * 背景渲染协调器
 * 负责协调背景的渲染过程
 */
public class BackgroundRenderingCoordinator {
    
    /** 渲染上下文 */
    private RenderContext renderContext;
    
    /**
     * 设置渲染上下文
     * 
     * @param renderContext 渲染上下文
     */
    public void setRenderContext(RenderContext renderContext) {
        this.renderContext = renderContext;
    }
    
    /**
     * 渲染背景
     * 
     * @param model 图表模型
     * @param renderer 图形渲染器
     */
    public void renderBackground(ChartModel model, GraphicsRenderer renderer) {
        // 设置当前层为背景层
        renderer.setCurrentLayer("background");
        
        // 获取背景颜色，默认为白色
        String backgroundColor = "#FFFFFF";
        if (model != null) {
            String modelBgColor = model.getBackgroundColor();
            if (modelBgColor != null && !modelBgColor.isEmpty()) {
                backgroundColor = modelBgColor;
            }
        }
        
        // 在左下角(0,0)位置渲染背景矩形，覆盖整个图表区域
        renderer.drawRect(
            0,  // x - 左下角x坐标
            0,  // y - 左下角y坐标
            renderContext.getWidth(),
            renderContext.getHeight(),
            true,
            backgroundColor,
            null
        );
    }
} 